import { ApiProperty } from '@nestjs/swagger';

export class UserInfoDto {
    @ApiProperty({
        description: 'User\'s Ethereum wallet address',
        example: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6'
    })
    walletAddress: string;

    @ApiProperty({
        description: 'User\'s full name',
        example: 'John Doe',
        required: false
    })
    fullName?: string;
}

export class AuthResponseDto {
    @ApiProperty({
        description: 'JWT access token for authentication',
        example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3YWxsZXRBZGRyZXNzIjoiMHg3NDJkMzVDYzY2MzRDMDUzMjkyNWEzYjhENEM5ZGI5NkM0YjRkOGI2Iiwic3ViIjoiMHg3NDJkMzVDYzY2MzRDMDUzMjkyNWEzYjhENEM5ZGI5NkM0YjRkOGI2IiwiaWF0IjoxNzM1NzQ5NzAzLCJleHAiOjE3MzU4MzYxMDN9.example_signature'
    })
    access_token: string;

    @ApiProperty({
        description: 'User information',
        type: UserInfoDto
    })
    user: UserInfoDto;
}
